
package comlib

import chisel3._ 
import chisel3.util._

object BP{
  def coff(bp:Bool):Bool = bp
  def poff(bp:Bool, sop:Bool):Bool = (bp&sop)
  
  /** SOP边界插入nullCnt个气泡
   * @param nullCnt 需要插入的气泡个数。0代表不需要插入
   * @param sop 当前对头节点是否sop
   * @return 当前cycle是否可请求
   */
  def pnull(nullCnt:UInt, sop:Bool):Bool = {
    val nullCyc = RegInit(0.U(nullCnt.getWidth.W))
    val pause = nullCyc=/=0.U & sop
    nullCyc := Mux(pause, 0.U, nullCyc)
    pause
  }
}

